<?php
/*
程序说明:

程序需要php环境和php_sockets.dll模块,请自行更改php.ini文件

本程序改自php-rtmp-client(Google Code开源项目:http://code.google.com/p/php-rtmp-client/)
更改了原程序连接参数和AMF(Action Message Format)版本号,以适应acf的服务器

程序只提供核心代码以及一个范例,至于批量发送,XML解析发送等等,请查阅相关的资料

本程序模拟flash的RTMP(Real-Time Messaging Protocol)客户端向FMS(Flash Media Server)发送消息,可以实时显示在众人的屏幕上

本程序目的是提供一种可以自定义字号,颜色,以及字幕触发时间的精确值的方法,请勿用于其它目的
(目前基于POST的弹幕发送器已经失效,直接使用自定义的flash 端向FMS发送消息会因过不了服务器端的地理位置判定而失败)

使用本程序造成的结果,与本人无关,一切由使用者自负.

若不遵守上述约定,请删除本程序.

2010年5月14日
*/
?>
<?php
require "RtmpClient.class.php";
require "debug.php";

//参数举隅
//关键参数
$vid = "32748258";//弹幕视频ID
$fontsize = "25";
$mode = "1";
$msg = "wwwwwww";
$color = "0xFF00FF";
$stime = "0.1";//字幕触发时间点,最多一位小数精度,单位秒

//非关键参数
date_default_timezone_set("PRC");//时区设定
$postdate = date("Y-m-d H:i:s");//可以是其它消息
$uid = "chxs".rand(0,1000000);
//参数举隅毕

$data = array(
//		"app" =>"flvplayer3/32673703",
//		"tcUrl" =>"rtmp:/flvplayer3/32673703",
//		"pageUrl" =>"http://220.170.79.105/html/ent/20100507/99328.html",
//		"swfUrl" =>"http://220.170.79.105/newflvplayer/player1.swf?id=32673703&type=video&sort=new",
//		"flashVer" =>"WIN 10,0,2,54",
		array(
		"username" =>"$uid",
		"movieID" =>"$vid",
		"playType" =>"video",
		"sortSina" =>"new",),
);
//注意主机地址要更改为acfun实际地址,如有变动请自行变更
$pageinfo = array(//目前不改也没关系,猴子只对page作在域判定
		"page"=>"http://220.170.79.105/html/ent/20100507/99328.html",//改成要发送字幕的页面
		"flashref"=>"http://220.170.79.105/newflvplayer/player1.swf",//改成要发送字幕的页面的flash地址
);

$client = new RtmpClient();
//主机地址和第二个参数要以实际地址为准
$client->connect("220.170.79.105","flvplayer3/$vid",1935,$data,$pageinfo);

//连接完毕,下面是发送代码


$data2 = array(
		array(
		'username'=>$uid,
		'mode'=>$mode,
		'color'=>$color,
		'fontsize'=>$fontsize,
		'message'=>$msg,
		'playTime'=>$stime,
		'times'=>$postdate,
		),
);
//print_r($data2);
//exit;
//$result = $client->call("publicChat",$data2);
$client->call("publicChat",$data2);//要发关多条弹幕请直接多次对不同的{$date2}调用这个函数,不必要再建立连接
//$client->call("publicChat",$data2);
//var_dump($result);
